#include <iostream>
#include <iomanip>
#include <string>
#include "Simple/Simple.h"

#define VERTLENGTH   32
#define HORILENGTH   32

using namespace std;

void InitArray(void);
void CleanUp(void);
void PrintArray(void);

Simple * SimpleMatrix[HORILENGTH][VERTLENGTH];

int main(int argc, char ** argv)
{

  if(argc == 2) cout << "Passed: " << argv[1] << endl;

  InitArray();
  PrintArray();
  CleanUp();

  return 0;
}

void InitArray(void)
{
  int x, y;

  for( y = 0 ; y < VERTLENGTH ; y++ )
  {
    for( x = 0 ; x < HORILENGTH ; x++ )
    {
      SimpleMatrix[x][y] = new Simple( ( y * HORILENGTH ) + x);
    }
  }
}

void CleanUp(void)
{
  int x, y;

  for( y = 0 ; y < VERTLENGTH ; y++ )
  {
    for( x = 0 ; x < HORILENGTH ; x++ )
    {
      delete SimpleMatrix[x][y]; 
    }
  }
}

void PrintArray(void)
{
  int x, y;

  for( y = 0 ; y < VERTLENGTH ; y++ )
  {
    for( x = 0 ; x < HORILENGTH ; x++ )
    {
      cout << setw(4) << SimpleMatrix[x][y]->GetID() << " ";
    }
    cout << endl << endl;
  }
}
